The present invention relates generally to message handling systems (MHS) and more particularly to a message storage method for a MHS that handles multiple recipient messages.
The electronic transfer of message data has proven to be a vital means of communication for the both consumers and businesses. It has many advantages over conventional methods, such as mail and telephone. Such advantages include timely, efficient, and secure delivery of information between cooperating parties. As a result, a number of message handling systems have been developed to meet the needs of electronic message transfer for various categories of users. For example, one message handling system used in the United States is known as E-mail. An international message handling system, commonly used in Europe, is known as the International Standards Organization (ISO) Advanced Communications System (ADCOMMS) X.400 message handling system.
Specifically, X.400 is a broad-based messaging standard which includes E-mail facilities. It has considerable advantages over many other E-mail messaging systems as messages can be transferred within the same format in which they were created. X.400 can also be used to transfer EDI (electronic data interchange) information, and to send and receive messages on the Internet. The standard has several inbuilt security features. These features include identity authentication, protection against message modification, and protection of messages against unauthorized disclosure.
Using X.400 based services, it is possible to send electronic messages to internal corporate desktop users, to other X.400 users and to subscribers connected to the Internet, including most E-mail systems. In an X.400 message handling system, X.400 messages are carried with xe2x80x9cenvelopes.xe2x80x9d The messages themselves can be of many different kinds including text files, spreadsheets, databases or even video images. Basically, anything which is created using a computer can be sent as an X.400 message. Thus the X.400 standard can be used to exchange a wide variety of information. For example, contract proposals, requests for information, price lists, CAD documents, spreadsheets, purchase orders and invoices can be exchanged with the X.400 standard.
Additionally X.400 has two key features not found in other message handling systems. The X.400 message preserves the format of the application within which it was created. A spreadsheet document, for example, can be edited by its recipient without the need for any manipulation or transformation beforehand. A second feature of the X.400 standard is the audit trail that it incorporates. The sender is notified whether and when a message was delivered, and when the envelope was opened. The audit trail does not require both the sender and the recipient to use the same X.400 service.
However, such as in the X.400 MHS, there are some drawbacks that are inherent in message handling systems. That is, certain message handling systems are required to perform redundant processing when handling messages having multiple recipients. By way of example, the X:400 standard provides that a message is processed on a recipient basis. That is, when a message is handled in the X.400 MHS, the X.400 MHS will process the message once for each of the recipients listed. This processing inefficiency of the X.400 standard is tolerated given the aforementioned inbuilt security features offered by the X.400 standard. However, this processing drawback becomes very expensive when a multiple recipient message requiring translation is handled by the X.400 MHS. In such a scenario, current X.400 MHS processing dictates that the message be translated and transferred for each of the recipients processed. This results in redundant translation and transfer of the same message, which is extremely inefficient.
It would thus be advantageous to provide a system and method that would increase processing efficiency and remove redundancy for messages processed in a MHS. This would allow a MHS to perform a single translation and a single transfer for multiple recipient messages being routed to MHS components that require translation.
The present invention provides a message storage system for use in a message handling system (MHS) which increases processing efficiency and removes operation redundancy for messages having multiple recipients. For example, in an X.400 MHS, the X.400 MHS processes messages on a recipient basis, that is, the message is processed once for each of the listed recipients. In addition, as part of X.400 MHS component processing, messages cooperating with certain MHS components may require translation from a first message format to a second message format.
When processing multiple recipient messages requiring translation, an MHS may translate the message from a first message format to a second message format. A copy of the translated message is stored local to the MHS component responsible for receiving and routing messages. The X.400 MHS reads the received message recipient to demarcate those recipients that require translation from those that do not. The MHS may first process those recipients that do not require translation. The recipients that do require translation are processed such that the translated message is transferred to the intended cooperating MHS component associated with the first listed recipient requiring translation. The cooperating MHS component receives the transferred message and stores it in a local database to which the MHS component is coupled. The cooperating MHS component creates unique and persistent message identifier, associates the message identifier with the received translated message, stores the message identifier in the database and communicates the message identifier back to the MHS component that performed the translation. When the translating MHS component comes across the next listed recipient requiring translation, the translating MHS component communicates information about the next listed recipient along with the message identifier to the intended cooperating MHS component associated with the next listed recipient. The cooperating MHS component receives the information about the next listed recipient along with the message identifier and uses the message identifier to retrieve the translated message from its database. The cooperating MHS component creates an association with the next listed recipient of the translated message and stores the association in the database.
Other aspects of the present invention are described below.